package cn.wolfcode.car.business.service;

import cn.wolfcode.car.business.domain.Appointment;
import cn.wolfcode.car.business.query.AppointmentQuery;
import cn.wolfcode.car.common.base.page.TablePageInfo;

public interface IAppointmentService {
    /**
     * 分页
     * @param qo
     * @return
     */
    TablePageInfo<Appointment> query(AppointmentQuery qo);

    /**
     *  新增
     * @param appointment
     */
    void save(Appointment appointment);

    /**
     * 批量删除
     * @param ids
     */
    void deleteBatch(String ids);

    /**
     * 编辑反显
     * @param id
     * @return
     */
    Appointment get(Long id);

    /**
     * 编辑
     * @param appointment
     */
    void update(Appointment appointment);

    /**
     * 取消预约
     * @param id
     */
    void cancel(Long id);

    /**
     * 到店
     * @param id
     */
    void arrival(Long id);

    /**
     * 软 批量删除
     * @param ids
     */
    void remove(Long[] ids);

    /**
     * 修改预约状态 为已支付
     * @param appointmentId
     * @param statusPaid
     */
    void changeStatus(Long appointmentId, Integer statusPaid);
}
